import '../bean/alarm_bean.dart';
import '../bean/requesterror_bean.dart';
import '../model/alarm_model.dart';
import '../utils/tools/errorhandle_tool.dart';
import '../utils/widget/toast_widget.dart';
import 'dart:convert';

class AlarmVM {
  /// ### 获取告警信息
  /// #### [context] 上下文
  /// #### [par] 必填|Map|请求的参数
  /// #### [title] 选填|String|提示文案
  /// #### [isShowLoading] 选填|bool|是否开启动画|默认：开启
  getAlarmInfo(context, Map par, {String title = '正在加载...',bool isShowLoading = true }) async {
//print(par);
    // 开启加载动画
    if(isShowLoading) ToastWidget.loading(title: title);

    // 处理数据
    Map newPar = _handleData(par);

    try {
      AlarmBean res = await AlarmModel.reqAlarmList(newPar);
      // 关闭动画
      if(isShowLoading) ToastWidget.closeToast();
      return res;
    } on RequestErrorBean catch (e) {
      // 请求失败、错误统一处理
      errorHandle(context, e);
    }
  }

  /// ### 处理数据
  /// #### [data] 必填|Map|需要处理的函数
  Map _handleData(Map data) {
    Map newData = json.decode(json.encode(data));
    if(newData["type"] == 999) newData["type"] = "";
    if(newData["alarmType"] == 999) newData["alarmType"] = "";
    return newData;
  }

}
